var express = require('express');
var router = express.Router();
// 引入随机定义id
const uuid= require("uuid");
// 引入sql封装
const sql = require("../sql/sql");
// 引入创建的集合以及连接连接池
const user = require("../sql/pro")
// 引入解析excle模块
const xlsx = require("node-xlsx");
// 设置未见路径

let pageIndex= 0;
let pageNumber = 25;

/* GET home page. */
// 路由

router.get('/', function(req, res, next) {
  // 查询数据库中的数据并渲染到页面
  sql.getPageData(user,pageNumber,pageIndex).then((data)=>{
    // console.log(data)
    sql.getDataLen(user).then((len)=>{
      if(req.session.isLogin === "ok" && req.session.power <= 1){
        res.render('pro',{
          index:1 ,
          activeIndex:1,
          data,
          pageIndex,
          pageNumber,
          pageNum:Math.ceil(len/pageNumber),
          power:req.session.power
        });
      }else{
        res.send("404 ： 未找到你要搜索的页面");
      }
    })
  })
});

// 删除数据
router.get('/del', function(req, res, next) {
  // 设置要删除的条件
  let data=req.query.id
  sql.delData(user,{goodsId:data},{_id:0,__v:0}).then(()=>{
    // console.log(data)
    res.redirect('/pro');
  })
  
});

// 设置添加excel表格数据；
router.get('/xlsx', function(req, res, next) {
  const xlsxData = xlsx.parse(__dirname+"/../excel/pro.xlsx")[0].data;
  // 将数据发送到浏览器页面显示，查看数据类行
  // res.send(xlsxData);
  let arr = [];
  for(var i = 1;i<xlsxData.length;i++){
    arr.push({
      goodsId:"pro-"+ uuid.v1(),//id
      brand:xlsxData[i][3],//品牌
      logo:xlsxData[i][4],//logo
      classify:xlsxData[i][2],//分类
      goodsImg:xlsxData[i][5],//图片
      goodsName:xlsxData[i][1],//名称
      price:xlsxData[i][6],//价格
      sales:xlsxData[i][9],//销量
      stock:xlsxData[i][8],//库存
      discount:xlsxData[i][10],//折扣
      score:xlsxData[i][11],
    })
  }
  sql.addData(user,arr).then(()=>{
    console.log("数据库添加成功")
    res.redirect('/pro');
  });

  // res.send(arr);
});

//搜索
router.get('/search', function(req, res, next) {
  // res.send(req.query)
  let searchData = req.query.search
  sql.getData(user,{goodsName:new RegExp(searchData)}).then((data)=>{
    sql.getDataLen(user).then((len)=>{
      res.render('pro',{
        index:1 ,
        activeIndex:1,
        data,
        pageIndex,
        pageNumber,
        pageNum:Math.ceil(len/pageNumber),
        power:req.session.power
      });
    })
  })
});
// 排序

router.get('/sort', function(req, res, next) {
  let sortData = req.query
  // res.send(sortData)

  sql.getSortData(user,sortData).then((data)=>{
    sql.getDataLen(user).then((len)=>{
      res.render('pro',{
        index:1 ,
        activeIndex:1,
        data,
        pageIndex,
        pageNumber,
        pageNum:Math.ceil(len/pageNumber),
        power:req.session.power
      });
    })
  })
});


// 分页
router.get('/paging', function(req, res, next) {
  // res.send(req.query)
  let pageData = req.query
  sql.getPageData(user,pageNumber,pageData.index).then((data)=>{
    // console.log(data)
    sql.getDataLen(user).then((len)=>{
      res.render('pro',{
        index:1 ,
        activeIndex:1,
        data,
        pageIndex:pageData.index ,
        pageNumber,
        pageNum:Math.ceil(len/pageNumber),
        power:req.session.power
      });
    })
  })
});

// 添加信息页面
router.get('/add', function(req, res, next) {
  res.render('addFrom', { 
    index:1 ,
    power:req.session.power
  });
});

// 给数据库中添加数据
router.post('/addAction', function(req, res, next) {
  let data = req.body
  data.goodsId="pro-"+ uuid.v1();
  data.price *=1;
  data.sales *=1;
  data.stock *=1;
  data.discount *=1;
  data.score *=1;
  // console.log(req.body);
  sql.addData(user,data).then(()=>{
      console.log("数据库添加成功")
  });
  // 重新加载页面
  res.redirect('/pro');
});

module.exports = router;
